﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace UFIDA.U9.Cust.HWProject.CreateARBill
{
	/// <summary>
	/// 应收单头 DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "UFIDA.U9.Cust.HWProject.CreateARBill")]
	[Serializable]
	public partial class InnDtoData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public InnDtoData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        	        	        	        	        	        			if (this.ARBillLine!=null)
			{
				foreach(UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData objdata in this.ARBillLine)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
			
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public InnDtoData(  System.String documentType  , System.String accrueDate  , System.String accrueCust  , System.String aC  , System.String org  , System.String srcDocNo  , List<UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData> aRBillLine  )
		{
			initData();
			this.DocumentType = documentType;
			this.AccrueDate = accrueDate;
			this.AccrueCust = accrueCust;
			this.AC = aC;
			this.Org = org;
			this.SrcDocNo = srcDocNo;
			this.ARBillLine = aRBillLine;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 单据类型
		/// 应收单头.Misc.单据类型
		/// </summary>
		private System.String m_documentType ;
		[DataMember(IsRequired=false)]
		public System.String DocumentType
		{
			get	
			{	
				return m_documentType ;
			}
			set	
			{	
				m_documentType = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账日期
		/// 应收单头.Misc.立账日期
		/// </summary>
		private System.String m_accrueDate ;
		[DataMember(IsRequired=false)]
		public System.String AccrueDate
		{
			get	
			{	
				return m_accrueDate ;
			}
			set	
			{	
				m_accrueDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 客户
		/// 应收单头.Misc.客户
		/// </summary>
		private System.String m_accrueCust ;
		[DataMember(IsRequired=false)]
		public System.String AccrueCust
		{
			get	
			{	
				return m_accrueCust ;
			}
			set	
			{	
				m_accrueCust = value ;	
			}
		}
			
		

		/// <summary>
		/// 客户币种
		/// 应收单头.Misc.客户币种
		/// </summary>
		private System.String m_aC ;
		[DataMember(IsRequired=false)]
		public System.String AC
		{
			get	
			{	
				return m_aC ;
			}
			set	
			{	
				m_aC = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 应收单头.Misc.组织
		/// </summary>
		private System.String m_org ;
		[DataMember(IsRequired=false)]
		public System.String Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 来源单据
		/// 应收单头.Misc.来源单据
		/// </summary>
		private System.String m_srcDocNo ;
		[DataMember(IsRequired=false)]
		public System.String SrcDocNo
		{
			get	
			{	
				return m_srcDocNo ;
			}
			set	
			{	
				m_srcDocNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 应收单行
		/// 应收单头.Misc.应收单行
		/// </summary>
		private List<UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData> m_aRBillLine ;
		[DataMember(IsRequired=false)]
		public List<UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData> ARBillLine
		{
			get	
			{	
				if (m_aRBillLine == null )
				{
					List<UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData> n_m_list = new List<UFIDA.U9.Cust.HWProject.CreateARBill.InnDtoInfoData>() ;
					m_aRBillLine = n_m_list ;
				}
				return m_aRBillLine ;
			}
			set	
			{	
				m_aRBillLine = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
														
		#endregion 
	} 	
}
